struct PluginSemaphore { SignalSemaphore Sem; /* WRITE during OpenLibrary */ BOOL IsPlugin; /* used to distinguish between library and plugin */ ULONG PluginVer; ULONG PluginRev; char *PluginName; char *PluginCopyRight; ULONG PluginFlags; /* READ ONLY! */ ULONG PluginSignal; /* free signal for use from library-side of a plugin (when quitting sub-tasks)*/ ULONG PluginSignal2; /* free signal for use from library-side of a plugin (when quitting sub-tasks)*/ ULONG TMLGVer; ULONG TMLGRev; };
#define PLUGIN_HAS_PREFS 1 /* This plugin has a preference window */ #define PLUGIN_HAS_ABOUT 2 /* I've got my own about window */ #define PLUGIN_HAS_WINDOW 4 /* This plugin has a "visual" window */ #define PLUGIN_DISPLAYS 4 #define PLUGIN_TRANSFORMS 8 /* I'm altering the sound */
struct PluginData { ULONG Size; /* size of the structure (the number of bytes to be saved!) BOOL ShowMain; /* Is the "visual" window open? UWORD MainX, MainY, MainW, MainH; /* coordinates of the "visual" window */ };